home *** CD-ROM | disk | FTP | other *** search
/ PC go! 2018 July / PCgo 07-2018 CD-ROM Germany.iso / nw.pak / Unnamed File 004890.txt < prev    next >
Encoding:
Text File  |  2015-07-29  |  35.5 KB  |  1,020 lines

  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4.  
  5. define("device/serial/data_stream.mojom", [
  6.     "mojo/public/js/bindings",
  7.     "mojo/public/js/codec",
  8.     "mojo/public/js/connection",
  9.     "mojo/public/js/core",
  10.     "mojo/public/js/validator",
  11. ], function(bindings, codec, connection, core, validator) {
  12.  
  13.   function DataSource_Init_Params(values) {
  14.     this.initDefaults_();
  15.     this.initFields_(values);
  16.   }
  17.  
  18.  
  19.   DataSource_Init_Params.prototype.initDefaults_ = function() {
  20.     this.buffer_size = 0;
  21.   };
  22.   DataSource_Init_Params.prototype.initFields_ = function(fields) {
  23.     for(var field in fields) {
  24.         if (this.hasOwnProperty(field))
  25.           this[field] = fields[field];
  26.     }
  27.   };
  28.  
  29.   DataSource_Init_Params.validate = function(messageValidator, offset) {
  30.     var err;
  31.  
  32.     err = messageValidator.validateStructHeader(offset, DataSource_Init_Params.encodedSize, 1);
  33.     if (err !== validator.validationError.NONE)
  34.         return err;
  35.  
  36.     return validator.validationError.NONE;
  37.   };
  38.  
  39.   DataSource_Init_Params.encodedSize = codec.kStructHeaderSize + 8;
  40.  
  41.   DataSource_Init_Params.decode = function(decoder) {
  42.     var packed;
  43.     var val = new DataSource_Init_Params();
  44.     var numberOfBytes = decoder.readUint32();
  45.     var numberOfFields = decoder.readUint32();
  46.     val.buffer_size = decoder.decodeStruct(codec.Uint32);
  47.     decoder.skip(1);
  48.     decoder.skip(1);
  49.     decoder.skip(1);
  50.     decoder.skip(1);
  51.     return val;
  52.   };
  53.  
  54.   DataSource_Init_Params.encode = function(encoder, val) {
  55.     var packed;
  56.     encoder.writeUint32(DataSource_Init_Params.encodedSize);
  57.     encoder.writeUint32(1);
  58.     encoder.encodeStruct(codec.Uint32, val.buffer_size);
  59.     encoder.skip(1);
  60.     encoder.skip(1);
  61.     encoder.skip(1);
  62.     encoder.skip(1);
  63.   };
  64.  
  65.   function DataSource_Resume_Params(values) {
  66.     this.initDefaults_();
  67.     this.initFields_(values);
  68.   }
  69.  
  70.  
  71.   DataSource_Resume_Params.prototype.initDefaults_ = function() {
  72.   };
  73.   DataSource_Resume_Params.prototype.initFields_ = function(fields) {
  74.     for(var field in fields) {
  75.         if (this.hasOwnProperty(field))
  76.           this[field] = fields[field];
  77.     }
  78.   };
  79.  
  80.   DataSource_Resume_Params.validate = function(messageValidator, offset) {
  81.     var err;
  82.  
  83.     err = messageValidator.validateStructHeader(offset, DataSource_Resume_Params.encodedSize, 0);
  84.     if (err !== validator.validationError.NONE)
  85.         return err;
  86.  
  87.     return validator.validationError.NONE;
  88.   };
  89.  
  90.   DataSource_Resume_Params.encodedSize = codec.kStructHeaderSize + 0;
  91.  
  92.   DataSource_Resume_Params.decode = function(decoder) {
  93.     var packed;
  94.     var val = new DataSource_Resume_Params();
  95.     var numberOfBytes = decoder.readUint32();
  96.     var numberOfFields = decoder.readUint32();
  97.     return val;
  98.   };
  99.  
  100.   DataSource_Resume_Params.encode = function(encoder, val) {
  101.     var packed;
  102.     encoder.writeUint32(DataSource_Resume_Params.encodedSize);
  103.     encoder.writeUint32(0);
  104.   };
  105.  
  106.   function DataSource_ReportBytesReceived_Params(values) {
  107.     this.initDefaults_();
  108.     this.initFields_(values);
  109.   }
  110.  
  111.  
  112.   DataSource_ReportBytesReceived_Params.prototype.initDefaults_ = function() {
  113.     this.bytes_sent = 0;
  114.   };
  115.   DataSource_ReportBytesReceived_Params.prototype.initFields_ = function(fields) {
  116.     for(var field in fields) {
  117.         if (this.hasOwnProperty(field))
  118.           this[field] = fields[field];
  119.     }
  120.   };
  121.  
  122.   DataSource_ReportBytesReceived_Params.validate = function(messageValidator, offset) {
  123.     var err;
  124.  
  125.     err = messageValidator.validateStructHeader(offset, DataSource_ReportBytesReceived_Params.encodedSize, 1);
  126.     if (err !== validator.validationError.NONE)
  127.         return err;
  128.  
  129.     return validator.validationError.NONE;
  130.   };
  131.  
  132.   DataSource_ReportBytesReceived_Params.encodedSize = codec.kStructHeaderSize + 8;
  133.  
  134.   DataSource_ReportBytesReceived_Params.decode = function(decoder) {
  135.     var packed;
  136.     var val = new DataSource_ReportBytesReceived_Params();
  137.     var numberOfBytes = decoder.readUint32();
  138.     var numberOfFields = decoder.readUint32();
  139.     val.bytes_sent = decoder.decodeStruct(codec.Uint32);
  140.     decoder.skip(1);
  141.     decoder.skip(1);
  142.     decoder.skip(1);
  143.     decoder.skip(1);
  144.     return val;
  145.   };
  146.  
  147.   DataSource_ReportBytesReceived_Params.encode = function(encoder, val) {
  148.     var packed;
  149.     encoder.writeUint32(DataSource_ReportBytesReceived_Params.encodedSize);
  150.     encoder.writeUint32(1);
  151.     encoder.encodeStruct(codec.Uint32, val.bytes_sent);
  152.     encoder.skip(1);
  153.     encoder.skip(1);
  154.     encoder.skip(1);
  155.     encoder.skip(1);
  156.   };
  157.  
  158.   function DataSourceClient_OnError_Params(values) {
  159.     this.initDefaults_();
  160.     this.initFields_(values);
  161.   }
  162.  
  163.  
  164.   DataSourceClient_OnError_Params.prototype.initDefaults_ = function() {
  165.     this.error = 0;
  166.   };
  167.   DataSourceClient_OnError_Params.prototype.initFields_ = function(fields) {
  168.     for(var field in fields) {
  169.         if (this.hasOwnProperty(field))
  170.           this[field] = fields[field];
  171.     }
  172.   };
  173.  
  174.   DataSourceClient_OnError_Params.validate = function(messageValidator, offset) {
  175.     var err;
  176.  
  177.     err = messageValidator.validateStructHeader(offset, DataSourceClient_OnError_Params.encodedSize, 1);
  178.     if (err !== validator.validationError.NONE)
  179.         return err;
  180.  
  181.     return validator.validationError.NONE;
  182.   };
  183.  
  184.   DataSourceClient_OnError_Params.encodedSize = codec.kStructHeaderSize + 8;
  185.  
  186.   DataSourceClient_OnError_Params.decode = function(decoder) {
  187.     var packed;
  188.     var val = new DataSourceClient_OnError_Params();
  189.     var numberOfBytes = decoder.readUint32();
  190.     var numberOfFields = decoder.readUint32();
  191.     val.error = decoder.decodeStruct(codec.Int32);
  192.     decoder.skip(1);
  193.     decoder.skip(1);
  194.     decoder.skip(1);
  195.     decoder.skip(1);
  196.     return val;
  197.   };
  198.  
  199.   DataSourceClient_OnError_Params.encode = function(encoder, val) {
  200.     var packed;
  201.     encoder.writeUint32(DataSourceClient_OnError_Params.encodedSize);
  202.     encoder.writeUint32(1);
  203.     encoder.encodeStruct(codec.Int32, val.error);
  204.     encoder.skip(1);
  205.     encoder.skip(1);
  206.     encoder.skip(1);
  207.     encoder.skip(1);
  208.   };
  209.  
  210.   function DataSourceClient_OnData_Params(values) {
  211.     this.initDefaults_();
  212.     this.initFields_(values);
  213.   }
  214.  
  215.  
  216.   DataSourceClient_OnData_Params.prototype.initDefaults_ = function() {
  217.     this.data = null;
  218.   };
  219.   DataSourceClient_OnData_Params.prototype.initFields_ = function(fields) {
  220.     for(var field in fields) {
  221.         if (this.hasOwnProperty(field))
  222.           this[field] = fields[field];
  223.     }
  224.   };
  225.  
  226.   DataSourceClient_OnData_Params.validate = function(messageValidator, offset) {
  227.     var err;
  228.  
  229.     err = messageValidator.validateStructHeader(offset, DataSourceClient_OnData_Params.encodedSize, 1);
  230.     if (err !== validator.validationError.NONE)
  231.         return err;
  232.     // validate DataSourceClient_OnData_Params.data
  233.     err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 0, 1, codec.Uint8, false, [0], 0);
  234.     if (err !== validator.validationError.NONE)
  235.         return err;
  236.  
  237.     return validator.validationError.NONE;
  238.   };
  239.  
  240.   DataSourceClient_OnData_Params.encodedSize = codec.kStructHeaderSize + 8;
  241.  
  242.   DataSourceClient_OnData_Params.decode = function(decoder) {
  243.     var packed;
  244.     var val = new DataSourceClient_OnData_Params();
  245.     var numberOfBytes = decoder.readUint32();
  246.     var numberOfFields = decoder.readUint32();
  247.     val.data = decoder.decodeArrayPointer(codec.Uint8);
  248.     return val;
  249.   };
  250.  
  251.   DataSourceClient_OnData_Params.encode = function(encoder, val) {
  252.     var packed;
  253.     encoder.writeUint32(DataSourceClient_OnData_Params.encodedSize);
  254.     encoder.writeUint32(1);
  255.     encoder.encodeArrayPointer(codec.Uint8, val.data);
  256.   };
  257.  
  258.   function DataSink_Init_Params(values) {
  259.     this.initDefaults_();
  260.     this.initFields_(values);
  261.   }
  262.  
  263.  
  264.   DataSink_Init_Params.prototype.initDefaults_ = function() {
  265.     this.buffer_size = 0;
  266.   };
  267.   DataSink_Init_Params.prototype.initFields_ = function(fields) {
  268.     for(var field in fields) {
  269.         if (this.hasOwnProperty(field))
  270.           this[field] = fields[field];
  271.     }
  272.   };
  273.  
  274.   DataSink_Init_Params.validate = function(messageValidator, offset) {
  275.     var err;
  276.  
  277.     err = messageValidator.validateStructHeader(offset, DataSink_Init_Params.encodedSize, 1);
  278.     if (err !== validator.validationError.NONE)
  279.         return err;
  280.  
  281.     return validator.validationError.NONE;
  282.   };
  283.  
  284.   DataSink_Init_Params.encodedSize = codec.kStructHeaderSize + 8;
  285.  
  286.   DataSink_Init_Params.decode = function(decoder) {
  287.     var packed;
  288.     var val = new DataSink_Init_Params();
  289.     var numberOfBytes = decoder.readUint32();
  290.     var numberOfFields = decoder.readUint32();
  291.     val.buffer_size = decoder.decodeStruct(codec.Uint32);
  292.     decoder.skip(1);
  293.     decoder.skip(1);
  294.     decoder.skip(1);
  295.     decoder.skip(1);
  296.     return val;
  297.   };
  298.  
  299.   DataSink_Init_Params.encode = function(encoder, val) {
  300.     var packed;
  301.     encoder.writeUint32(DataSink_Init_Params.encodedSize);
  302.     encoder.writeUint32(1);
  303.     encoder.encodeStruct(codec.Uint32, val.buffer_size);
  304.     encoder.skip(1);
  305.     encoder.skip(1);
  306.     encoder.skip(1);
  307.     encoder.skip(1);
  308.   };
  309.  
  310.   function DataSink_Cancel_Params(values) {
  311.     this.initDefaults_();
  312.     this.initFields_(values);
  313.   }
  314.  
  315.  
  316.   DataSink_Cancel_Params.prototype.initDefaults_ = function() {
  317.     this.error = 0;
  318.   };
  319.   DataSink_Cancel_Params.prototype.initFields_ = function(fields) {
  320.     for(var field in fields) {
  321.         if (this.hasOwnProperty(field))
  322.           this[field] = fields[field];
  323.     }
  324.   };
  325.  
  326.   DataSink_Cancel_Params.validate = function(messageValidator, offset) {
  327.     var err;
  328.  
  329.     err = messageValidator.validateStructHeader(offset, DataSink_Cancel_Params.encodedSize, 1);
  330.     if (err !== validator.validationError.NONE)
  331.         return err;
  332.  
  333.     return validator.validationError.NONE;
  334.   };
  335.  
  336.   DataSink_Cancel_Params.encodedSize = codec.kStructHeaderSize + 8;
  337.  
  338.   DataSink_Cancel_Params.decode = function(decoder) {
  339.     var packed;
  340.     var val = new DataSink_Cancel_Params();
  341.     var numberOfBytes = decoder.readUint32();
  342.     var numberOfFields = decoder.readUint32();
  343.     val.error = decoder.decodeStruct(codec.Int32);
  344.     decoder.skip(1);
  345.     decoder.skip(1);
  346.     decoder.skip(1);
  347.     decoder.skip(1);
  348.     return val;
  349.   };
  350.  
  351.   DataSink_Cancel_Params.encode = function(encoder, val) {
  352.     var packed;
  353.     encoder.writeUint32(DataSink_Cancel_Params.encodedSize);
  354.     encoder.writeUint32(1);
  355.     encoder.encodeStruct(codec.Int32, val.error);
  356.     encoder.skip(1);
  357.     encoder.skip(1);
  358.     encoder.skip(1);
  359.     encoder.skip(1);
  360.   };
  361.  
  362.   function DataSink_OnData_Params(values) {
  363.     this.initDefaults_();
  364.     this.initFields_(values);
  365.   }
  366.  
  367.  
  368.   DataSink_OnData_Params.prototype.initDefaults_ = function() {
  369.     this.data = null;
  370.   };
  371.   DataSink_OnData_Params.prototype.initFields_ = function(fields) {
  372.     for(var field in fields) {
  373.         if (this.hasOwnProperty(field))
  374.           this[field] = fields[field];
  375.     }
  376.   };
  377.  
  378.   DataSink_OnData_Params.validate = function(messageValidator, offset) {
  379.     var err;
  380.  
  381.     err = messageValidator.validateStructHeader(offset, DataSink_OnData_Params.encodedSize, 1);
  382.     if (err !== validator.validationError.NONE)
  383.         return err;
  384.     // validate DataSink_OnData_Params.data
  385.     err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 0, 1, codec.Uint8, false, [0], 0);
  386.     if (err !== validator.validationError.NONE)
  387.         return err;
  388.  
  389.     return validator.validationError.NONE;
  390.   };
  391.  
  392.   DataSink_OnData_Params.encodedSize = codec.kStructHeaderSize + 8;
  393.  
  394.   DataSink_OnData_Params.decode = function(decoder) {
  395.     var packed;
  396.     var val = new DataSink_OnData_Params();
  397.     var numberOfBytes = decoder.readUint32();
  398.     var numberOfFields = decoder.readUint32();
  399.     val.data = decoder.decodeArrayPointer(codec.Uint8);
  400.     return val;
  401.   };
  402.  
  403.   DataSink_OnData_Params.encode = function(encoder, val) {
  404.     var packed;
  405.     encoder.writeUint32(DataSink_OnData_Params.encodedSize);
  406.     encoder.writeUint32(1);
  407.     encoder.encodeArrayPointer(codec.Uint8, val.data);
  408.   };
  409.  
  410.   function DataSinkClient_ReportBytesSent_Params(values) {
  411.     this.initDefaults_();
  412.     this.initFields_(values);
  413.   }
  414.  
  415.  
  416.   DataSinkClient_ReportBytesSent_Params.prototype.initDefaults_ = function() {
  417.     this.bytes_sent = 0;
  418.   };
  419.   DataSinkClient_ReportBytesSent_Params.prototype.initFields_ = function(fields) {
  420.     for(var field in fields) {
  421.         if (this.hasOwnProperty(field))
  422.           this[field] = fields[field];
  423.     }
  424.   };
  425.  
  426.   DataSinkClient_ReportBytesSent_Params.validate = function(messageValidator, offset) {
  427.     var err;
  428.  
  429.     err = messageValidator.validateStructHeader(offset, DataSinkClient_ReportBytesSent_Params.encodedSize, 1);
  430.     if (err !== validator.validationError.NONE)
  431.         return err;
  432.  
  433.     return validator.validationError.NONE;
  434.   };
  435.  
  436.   DataSinkClient_ReportBytesSent_Params.encodedSize = codec.kStructHeaderSize + 8;
  437.  
  438.   DataSinkClient_ReportBytesSent_Params.decode = function(decoder) {
  439.     var packed;
  440.     var val = new DataSinkClient_ReportBytesSent_Params();
  441.     var numberOfBytes = decoder.readUint32();
  442.     var numberOfFields = decoder.readUint32();
  443.     val.bytes_sent = decoder.decodeStruct(codec.Uint32);
  444.     decoder.skip(1);
  445.     decoder.skip(1);
  446.     decoder.skip(1);
  447.     decoder.skip(1);
  448.     return val;
  449.   };
  450.  
  451.   DataSinkClient_ReportBytesSent_Params.encode = function(encoder, val) {
  452.     var packed;
  453.     encoder.writeUint32(DataSinkClient_ReportBytesSent_Params.encodedSize);
  454.     encoder.writeUint32(1);
  455.     encoder.encodeStruct(codec.Uint32, val.bytes_sent);
  456.     encoder.skip(1);
  457.     encoder.skip(1);
  458.     encoder.skip(1);
  459.     encoder.skip(1);
  460.   };
  461.  
  462.   function DataSinkClient_ReportBytesSentAndError_Params(values) {
  463.     this.initDefaults_();
  464.     this.initFields_(values);
  465.   }
  466.  
  467.  
  468.   DataSinkClient_ReportBytesSentAndError_Params.prototype.initDefaults_ = function() {
  469.     this.bytes_sent = 0;
  470.     this.error = 0;
  471.   };
  472.   DataSinkClient_ReportBytesSentAndError_Params.prototype.initFields_ = function(fields) {
  473.     for(var field in fields) {
  474.         if (this.hasOwnProperty(field))
  475.           this[field] = fields[field];
  476.     }
  477.   };
  478.  
  479.   DataSinkClient_ReportBytesSentAndError_Params.validate = function(messageValidator, offset) {
  480.     var err;
  481.  
  482.     err = messageValidator.validateStructHeader(offset, DataSinkClient_ReportBytesSentAndError_Params.encodedSize, 2);
  483.     if (err !== validator.validationError.NONE)
  484.         return err;
  485.  
  486.     return validator.validationError.NONE;
  487.   };
  488.  
  489.   DataSinkClient_ReportBytesSentAndError_Params.encodedSize = codec.kStructHeaderSize + 8;
  490.  
  491.   DataSinkClient_ReportBytesSentAndError_Params.decode = function(decoder) {
  492.     var packed;
  493.     var val = new DataSinkClient_ReportBytesSentAndError_Params();
  494.     var numberOfBytes = decoder.readUint32();
  495.     var numberOfFields = decoder.readUint32();
  496.     val.bytes_sent = decoder.decodeStruct(codec.Uint32);
  497.     val.error = decoder.decodeStruct(codec.Int32);
  498.     return val;
  499.   };
  500.  
  501.   DataSinkClient_ReportBytesSentAndError_Params.encode = function(encoder, val) {
  502.     var packed;
  503.     encoder.writeUint32(DataSinkClient_ReportBytesSentAndError_Params.encodedSize);
  504.     encoder.writeUint32(2);
  505.     encoder.encodeStruct(codec.Uint32, val.bytes_sent);
  506.     encoder.encodeStruct(codec.Int32, val.error);
  507.   };
  508.  
  509.   function DataSinkClient_ReportBytesSentAndError_ResponseParams(values) {
  510.     this.initDefaults_();
  511.     this.initFields_(values);
  512.   }
  513.  
  514.  
  515.   DataSinkClient_ReportBytesSentAndError_ResponseParams.prototype.initDefaults_ = function() {
  516.   };
  517.   DataSinkClient_ReportBytesSentAndError_ResponseParams.prototype.initFields_ = function(fields) {
  518.     for(var field in fields) {
  519.         if (this.hasOwnProperty(field))
  520.           this[field] = fields[field];
  521.     }
  522.   };
  523.  
  524.   DataSinkClient_ReportBytesSentAndError_ResponseParams.validate = function(messageValidator, offset) {
  525.     var err;
  526.  
  527.     err = messageValidator.validateStructHeader(offset, DataSinkClient_ReportBytesSentAndError_ResponseParams.encodedSize, 0);
  528.     if (err !== validator.validationError.NONE)
  529.         return err;
  530.  
  531.     return validator.validationError.NONE;
  532.   };
  533.  
  534.   DataSinkClient_ReportBytesSentAndError_ResponseParams.encodedSize = codec.kStructHeaderSize + 0;
  535.  
  536.   DataSinkClient_ReportBytesSentAndError_ResponseParams.decode = function(decoder) {
  537.     var packed;
  538.     var val = new DataSinkClient_ReportBytesSentAndError_ResponseParams();
  539.     var numberOfBytes = decoder.readUint32();
  540.     var numberOfFields = decoder.readUint32();
  541.     return val;
  542.   };
  543.  
  544.   DataSinkClient_ReportBytesSentAndError_ResponseParams.encode = function(encoder, val) {
  545.     var packed;
  546.     encoder.writeUint32(DataSinkClient_ReportBytesSentAndError_ResponseParams.encodedSize);
  547.     encoder.writeUint32(0);
  548.   };
  549.  
  550.   var kDataSource_Init_Name = 0;
  551.   var kDataSource_Resume_Name = 1;
  552.   var kDataSource_ReportBytesReceived_Name = 2;
  553.  
  554.   function DataSourceProxy(receiver) {
  555.     bindings.ProxyBase.call(this, receiver);
  556.   }
  557.   DataSourceProxy.prototype = Object.create(bindings.ProxyBase.prototype);
  558.   DataSourceProxy.prototype.init = function(buffer_size) {
  559.     var params = new DataSource_Init_Params();
  560.     params.buffer_size = buffer_size;
  561.     var builder = new codec.MessageBuilder(
  562.         kDataSource_Init_Name,
  563.         codec.align(DataSource_Init_Params.encodedSize));
  564.     builder.encodeStruct(DataSource_Init_Params, params);
  565.     var message = builder.finish();
  566.     this.receiver_.accept(message);
  567.   };
  568.   DataSourceProxy.prototype.resume = function() {
  569.     var params = new DataSource_Resume_Params();
  570.     var builder = new codec.MessageBuilder(
  571.         kDataSource_Resume_Name,
  572.         codec.align(DataSource_Resume_Params.encodedSize));
  573.     builder.encodeStruct(DataSource_Resume_Params, params);
  574.     var message = builder.finish();
  575.     this.receiver_.accept(message);
  576.   };
  577.   DataSourceProxy.prototype.reportBytesReceived = function(bytes_sent) {
  578.     var params = new DataSource_ReportBytesReceived_Params();
  579.     params.bytes_sent = bytes_sent;
  580.     var builder = new codec.MessageBuilder(
  581.         kDataSource_ReportBytesReceived_Name,
  582.         codec.align(DataSource_ReportBytesReceived_Params.encodedSize));
  583.     builder.encodeStruct(DataSource_ReportBytesReceived_Params, params);
  584.     var message = builder.finish();
  585.     this.receiver_.accept(message);
  586.   };
  587.  
  588.   function DataSourceStub(delegate) {
  589.     bindings.StubBase.call(this, delegate);
  590.   }
  591.   DataSourceStub.prototype = Object.create(bindings.StubBase.prototype);
  592.   DataSourceStub.prototype.init = function(buffer_size) {
  593.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.init && bindings.StubBindings(this).delegate.init(buffer_size);
  594.   }
  595.   DataSourceStub.prototype.resume = function() {
  596.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.resume && bindings.StubBindings(this).delegate.resume();
  597.   }
  598.   DataSourceStub.prototype.reportBytesReceived = function(bytes_sent) {
  599.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.reportBytesReceived && bindings.StubBindings(this).delegate.reportBytesReceived(bytes_sent);
  600.   }
  601.  
  602.   DataSourceStub.prototype.accept = function(message) {
  603.     var reader = new codec.MessageReader(message);
  604.     switch (reader.messageName) {
  605.     case kDataSource_Init_Name:
  606.       var params = reader.decodeStruct(DataSource_Init_Params);
  607.       this.init(params.buffer_size);
  608.       return true;
  609.     case kDataSource_Resume_Name:
  610.       var params = reader.decodeStruct(DataSource_Resume_Params);
  611.       this.resume();
  612.       return true;
  613.     case kDataSource_ReportBytesReceived_Name:
  614.       var params = reader.decodeStruct(DataSource_ReportBytesReceived_Params);
  615.       this.reportBytesReceived(params.bytes_sent);
  616.       return true;
  617.     default:
  618.       return false;
  619.     }
  620.   };
  621.  
  622.   DataSourceStub.prototype.acceptWithResponder =
  623.       function(message, responder) {
  624.     var reader = new codec.MessageReader(message);
  625.     switch (reader.messageName) {
  626.     default:
  627.       return Promise.reject(Error("Unhandled message: " + reader.messageName));
  628.     }
  629.   };
  630.  
  631.   function validateDataSourceRequest(messageValidator) {
  632.     var message = messageValidator.message;
  633.     var paramsClass = null;
  634.     switch (message.getName()) {
  635.       case kDataSource_Init_Name:
  636.         if (!message.expectsResponse() && !message.isResponse())
  637.           paramsClass = DataSource_Init_Params;
  638.       break;
  639.       case kDataSource_Resume_Name:
  640.         if (!message.expectsResponse() && !message.isResponse())
  641.           paramsClass = DataSource_Resume_Params;
  642.       break;
  643.       case kDataSource_ReportBytesReceived_Name:
  644.         if (!message.expectsResponse() && !message.isResponse())
  645.           paramsClass = DataSource_ReportBytesReceived_Params;
  646.       break;
  647.     }
  648.     if (paramsClass === null)
  649.       return validator.validationError.NONE;
  650.     return paramsClass.validate(messageValidator, messageValidator.message.getHeaderNumBytes());
  651.   }
  652.  
  653.   function validateDataSourceResponse(messageValidator) {
  654.     return validator.validationError.NONE;
  655.   }
  656.  
  657.   var DataSource = {
  658.     name: 'device::serial::DataSource',
  659.     proxyClass: DataSourceProxy,
  660.     stubClass: DataSourceStub,
  661.     validateRequest: validateDataSourceRequest,
  662.     validateResponse: null,
  663.   };
  664.   DataSourceStub.prototype.validator = validateDataSourceRequest;
  665.   DataSourceProxy.prototype.validator = null;
  666.  
  667.   var kDataSourceClient_OnError_Name = 0;
  668.   var kDataSourceClient_OnData_Name = 1;
  669.  
  670.   function DataSourceClientProxy(receiver) {
  671.     bindings.ProxyBase.call(this, receiver);
  672.   }
  673.   DataSourceClientProxy.prototype = Object.create(bindings.ProxyBase.prototype);
  674.   DataSourceClientProxy.prototype.onError = function(error) {
  675.     var params = new DataSourceClient_OnError_Params();
  676.     params.error = error;
  677.     var builder = new codec.MessageBuilder(
  678.         kDataSourceClient_OnError_Name,
  679.         codec.align(DataSourceClient_OnError_Params.encodedSize));
  680.     builder.encodeStruct(DataSourceClient_OnError_Params, params);
  681.     var message = builder.finish();
  682.     this.receiver_.accept(message);
  683.   };
  684.   DataSourceClientProxy.prototype.onData = function(data) {
  685.     var params = new DataSourceClient_OnData_Params();
  686.     params.data = data;
  687.     var builder = new codec.MessageBuilder(
  688.         kDataSourceClient_OnData_Name,
  689.         codec.align(DataSourceClient_OnData_Params.encodedSize));
  690.     builder.encodeStruct(DataSourceClient_OnData_Params, params);
  691.     var message = builder.finish();
  692.     this.receiver_.accept(message);
  693.   };
  694.  
  695.   function DataSourceClientStub(delegate) {
  696.     bindings.StubBase.call(this, delegate);
  697.   }
  698.   DataSourceClientStub.prototype = Object.create(bindings.StubBase.prototype);
  699.   DataSourceClientStub.prototype.onError = function(error) {
  700.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.onError && bindings.StubBindings(this).delegate.onError(error);
  701.   }
  702.   DataSourceClientStub.prototype.onData = function(data) {
  703.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.onData && bindings.StubBindings(this).delegate.onData(data);
  704.   }
  705.  
  706.   DataSourceClientStub.prototype.accept = function(message) {
  707.     var reader = new codec.MessageReader(message);
  708.     switch (reader.messageName) {
  709.     case kDataSourceClient_OnError_Name:
  710.       var params = reader.decodeStruct(DataSourceClient_OnError_Params);
  711.       this.onError(params.error);
  712.       return true;
  713.     case kDataSourceClient_OnData_Name:
  714.       var params = reader.decodeStruct(DataSourceClient_OnData_Params);
  715.       this.onData(params.data);
  716.       return true;
  717.     default:
  718.       return false;
  719.     }
  720.   };
  721.  
  722.   DataSourceClientStub.prototype.acceptWithResponder =
  723.       function(message, responder) {
  724.     var reader = new codec.MessageReader(message);
  725.     switch (reader.messageName) {
  726.     default:
  727.       return Promise.reject(Error("Unhandled message: " + reader.messageName));
  728.     }
  729.   };
  730.  
  731.   function validateDataSourceClientRequest(messageValidator) {
  732.     var message = messageValidator.message;
  733.     var paramsClass = null;
  734.     switch (message.getName()) {
  735.       case kDataSourceClient_OnError_Name:
  736.         if (!message.expectsResponse() && !message.isResponse())
  737.           paramsClass = DataSourceClient_OnError_Params;
  738.       break;
  739.       case kDataSourceClient_OnData_Name:
  740.         if (!message.expectsResponse() && !message.isResponse())
  741.           paramsClass = DataSourceClient_OnData_Params;
  742.       break;
  743.     }
  744.     if (paramsClass === null)
  745.       return validator.validationError.NONE;
  746.     return paramsClass.validate(messageValidator, messageValidator.message.getHeaderNumBytes());
  747.   }
  748.  
  749.   function validateDataSourceClientResponse(messageValidator) {
  750.     return validator.validationError.NONE;
  751.   }
  752.  
  753.   var DataSourceClient = {
  754.     name: 'device::serial::DataSourceClient',
  755.     proxyClass: DataSourceClientProxy,
  756.     stubClass: DataSourceClientStub,
  757.     validateRequest: validateDataSourceClientRequest,
  758.     validateResponse: null,
  759.   };
  760.   DataSourceClientStub.prototype.validator = validateDataSourceClientRequest;
  761.   DataSourceClientProxy.prototype.validator = null;
  762.  
  763.   var kDataSink_Init_Name = 0;
  764.   var kDataSink_Cancel_Name = 1;
  765.   var kDataSink_OnData_Name = 2;
  766.  
  767.   function DataSinkProxy(receiver) {
  768.     bindings.ProxyBase.call(this, receiver);
  769.   }
  770.   DataSinkProxy.prototype = Object.create(bindings.ProxyBase.prototype);
  771.   DataSinkProxy.prototype.init = function(buffer_size) {
  772.     var params = new DataSink_Init_Params();
  773.     params.buffer_size = buffer_size;
  774.     var builder = new codec.MessageBuilder(
  775.         kDataSink_Init_Name,
  776.         codec.align(DataSink_Init_Params.encodedSize));
  777.     builder.encodeStruct(DataSink_Init_Params, params);
  778.     var message = builder.finish();
  779.     this.receiver_.accept(message);
  780.   };
  781.   DataSinkProxy.prototype.cancel = function(error) {
  782.     var params = new DataSink_Cancel_Params();
  783.     params.error = error;
  784.     var builder = new codec.MessageBuilder(
  785.         kDataSink_Cancel_Name,
  786.         codec.align(DataSink_Cancel_Params.encodedSize));
  787.     builder.encodeStruct(DataSink_Cancel_Params, params);
  788.     var message = builder.finish();
  789.     this.receiver_.accept(message);
  790.   };
  791.   DataSinkProxy.prototype.onData = function(data) {
  792.     var params = new DataSink_OnData_Params();
  793.     params.data = data;
  794.     var builder = new codec.MessageBuilder(
  795.         kDataSink_OnData_Name,
  796.         codec.align(DataSink_OnData_Params.encodedSize));
  797.     builder.encodeStruct(DataSink_OnData_Params, params);
  798.     var message = builder.finish();
  799.     this.receiver_.accept(message);
  800.   };
  801.  
  802.   function DataSinkStub(delegate) {
  803.     bindings.StubBase.call(this, delegate);
  804.   }
  805.   DataSinkStub.prototype = Object.create(bindings.StubBase.prototype);
  806.   DataSinkStub.prototype.init = function(buffer_size) {
  807.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.init && bindings.StubBindings(this).delegate.init(buffer_size);
  808.   }
  809.   DataSinkStub.prototype.cancel = function(error) {
  810.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.cancel && bindings.StubBindings(this).delegate.cancel(error);
  811.   }
  812.   DataSinkStub.prototype.onData = function(data) {
  813.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.onData && bindings.StubBindings(this).delegate.onData(data);
  814.   }
  815.  
  816.   DataSinkStub.prototype.accept = function(message) {
  817.     var reader = new codec.MessageReader(message);
  818.     switch (reader.messageName) {
  819.     case kDataSink_Init_Name:
  820.       var params = reader.decodeStruct(DataSink_Init_Params);
  821.       this.init(params.buffer_size);
  822.       return true;
  823.     case kDataSink_Cancel_Name:
  824.       var params = reader.decodeStruct(DataSink_Cancel_Params);
  825.       this.cancel(params.error);
  826.       return true;
  827.     case kDataSink_OnData_Name:
  828.       var params = reader.decodeStruct(DataSink_OnData_Params);
  829.       this.onData(params.data);
  830.       return true;
  831.     default:
  832.       return false;
  833.     }
  834.   };
  835.  
  836.   DataSinkStub.prototype.acceptWithResponder =
  837.       function(message, responder) {
  838.     var reader = new codec.MessageReader(message);
  839.     switch (reader.messageName) {
  840.     default:
  841.       return Promise.reject(Error("Unhandled message: " + reader.messageName));
  842.     }
  843.   };
  844.  
  845.   function validateDataSinkRequest(messageValidator) {
  846.     var message = messageValidator.message;
  847.     var paramsClass = null;
  848.     switch (message.getName()) {
  849.       case kDataSink_Init_Name:
  850.         if (!message.expectsResponse() && !message.isResponse())
  851.           paramsClass = DataSink_Init_Params;
  852.       break;
  853.       case kDataSink_Cancel_Name:
  854.         if (!message.expectsResponse() && !message.isResponse())
  855.           paramsClass = DataSink_Cancel_Params;
  856.       break;
  857.       case kDataSink_OnData_Name:
  858.         if (!message.expectsResponse() && !message.isResponse())
  859.           paramsClass = DataSink_OnData_Params;
  860.       break;
  861.     }
  862.     if (paramsClass === null)
  863.       return validator.validationError.NONE;
  864.     return paramsClass.validate(messageValidator, messageValidator.message.getHeaderNumBytes());
  865.   }
  866.  
  867.   function validateDataSinkResponse(messageValidator) {
  868.     return validator.validationError.NONE;
  869.   }
  870.  
  871.   var DataSink = {
  872.     name: 'device::serial::DataSink',
  873.     proxyClass: DataSinkProxy,
  874.     stubClass: DataSinkStub,
  875.     validateRequest: validateDataSinkRequest,
  876.     validateResponse: null,
  877.   };
  878.   DataSinkStub.prototype.validator = validateDataSinkRequest;
  879.   DataSinkProxy.prototype.validator = null;
  880.  
  881.   var kDataSinkClient_ReportBytesSent_Name = 0;
  882.   var kDataSinkClient_ReportBytesSentAndError_Name = 1;
  883.  
  884.   function DataSinkClientProxy(receiver) {
  885.     bindings.ProxyBase.call(this, receiver);
  886.   }
  887.   DataSinkClientProxy.prototype = Object.create(bindings.ProxyBase.prototype);
  888.   DataSinkClientProxy.prototype.reportBytesSent = function(bytes_sent) {
  889.     var params = new DataSinkClient_ReportBytesSent_Params();
  890.     params.bytes_sent = bytes_sent;
  891.     var builder = new codec.MessageBuilder(
  892.         kDataSinkClient_ReportBytesSent_Name,
  893.         codec.align(DataSinkClient_ReportBytesSent_Params.encodedSize));
  894.     builder.encodeStruct(DataSinkClient_ReportBytesSent_Params, params);
  895.     var message = builder.finish();
  896.     this.receiver_.accept(message);
  897.   };
  898.   DataSinkClientProxy.prototype.reportBytesSentAndError = function(bytes_sent, error) {
  899.     var params = new DataSinkClient_ReportBytesSentAndError_Params();
  900.     params.bytes_sent = bytes_sent;
  901.     params.error = error;
  902.     return new Promise(function(resolve, reject) {
  903.       var builder = new codec.MessageWithRequestIDBuilder(
  904.           kDataSinkClient_ReportBytesSentAndError_Name,
  905.           codec.align(DataSinkClient_ReportBytesSentAndError_Params.encodedSize),
  906.           codec.kMessageExpectsResponse, 0);
  907.       builder.encodeStruct(DataSinkClient_ReportBytesSentAndError_Params, params);
  908.       var message = builder.finish();
  909.       this.receiver_.acceptAndExpectResponse(message).then(function(message) {
  910.         var reader = new codec.MessageReader(message);
  911.         var responseParams =
  912.             reader.decodeStruct(DataSinkClient_ReportBytesSentAndError_ResponseParams);
  913.         resolve(responseParams);
  914.       }).catch(function(result) {
  915.         reject(Error("Connection error: " + result));
  916.       });
  917.     }.bind(this));
  918.   };
  919.  
  920.   function DataSinkClientStub(delegate) {
  921.     bindings.StubBase.call(this, delegate);
  922.   }
  923.   DataSinkClientStub.prototype = Object.create(bindings.StubBase.prototype);
  924.   DataSinkClientStub.prototype.reportBytesSent = function(bytes_sent) {
  925.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.reportBytesSent && bindings.StubBindings(this).delegate.reportBytesSent(bytes_sent);
  926.   }
  927.   DataSinkClientStub.prototype.reportBytesSentAndError = function(bytes_sent, error) {
  928.     return bindings.StubBindings(this).delegate && bindings.StubBindings(this).delegate.reportBytesSentAndError && bindings.StubBindings(this).delegate.reportBytesSentAndError(bytes_sent, error);
  929.   }
  930.  
  931.   DataSinkClientStub.prototype.accept = function(message) {
  932.     var reader = new codec.MessageReader(message);
  933.     switch (reader.messageName) {
  934.     case kDataSinkClient_ReportBytesSent_Name:
  935.       var params = reader.decodeStruct(DataSinkClient_ReportBytesSent_Params);
  936.       this.reportBytesSent(params.bytes_sent);
  937.       return true;
  938.     default:
  939.       return false;
  940.     }
  941.   };
  942.  
  943.   DataSinkClientStub.prototype.acceptWithResponder =
  944.       function(message, responder) {
  945.     var reader = new codec.MessageReader(message);
  946.     switch (reader.messageName) {
  947.     case kDataSinkClient_ReportBytesSentAndError_Name:
  948.       var params = reader.decodeStruct(DataSinkClient_ReportBytesSentAndError_Params);
  949.       return this.reportBytesSentAndError(params.bytes_sent, params.error).then(function(response) {
  950.         var responseParams =
  951.             new DataSinkClient_ReportBytesSentAndError_ResponseParams();
  952.         var builder = new codec.MessageWithRequestIDBuilder(
  953.             kDataSinkClient_ReportBytesSentAndError_Name,
  954.             codec.align(DataSinkClient_ReportBytesSentAndError_ResponseParams.encodedSize),
  955.             codec.kMessageIsResponse, reader.requestID);
  956.         builder.encodeStruct(DataSinkClient_ReportBytesSentAndError_ResponseParams,
  957.                              responseParams);
  958.         var message = builder.finish();
  959.         responder.accept(message);
  960.       });
  961.     default:
  962.       return Promise.reject(Error("Unhandled message: " + reader.messageName));
  963.     }
  964.   };
  965.  
  966.   function validateDataSinkClientRequest(messageValidator) {
  967.     var message = messageValidator.message;
  968.     var paramsClass = null;
  969.     switch (message.getName()) {
  970.       case kDataSinkClient_ReportBytesSent_Name:
  971.         if (!message.expectsResponse() && !message.isResponse())
  972.           paramsClass = DataSinkClient_ReportBytesSent_Params;
  973.       break;
  974.       case kDataSinkClient_ReportBytesSentAndError_Name:
  975.         if (message.expectsResponse())
  976.           paramsClass = DataSinkClient_ReportBytesSentAndError_Params;
  977.       break;
  978.     }
  979.     if (paramsClass === null)
  980.       return validator.validationError.NONE;
  981.     return paramsClass.validate(messageValidator, messageValidator.message.getHeaderNumBytes());
  982.   }
  983.  
  984.   function validateDataSinkClientResponse(messageValidator) {
  985.    var message = messageValidator.message;
  986.    var paramsClass = null;
  987.    switch (message.getName()) {
  988.       case kDataSinkClient_ReportBytesSentAndError_Name:
  989.         if (message.isResponse())
  990.           paramsClass = DataSinkClient_ReportBytesSentAndError_ResponseParams;
  991.         break;
  992.     }
  993.     if (paramsClass === null)
  994.       return validator.validationError.NONE;
  995.     return paramsClass.validate(messageValidator, messageValidator.message.getHeaderNumBytes());
  996.   }
  997.  
  998.   var DataSinkClient = {
  999.     name: 'device::serial::DataSinkClient',
  1000.     proxyClass: DataSinkClientProxy,
  1001.     stubClass: DataSinkClientStub,
  1002.     validateRequest: validateDataSinkClientRequest,
  1003.     validateResponse: validateDataSinkClientResponse,
  1004.   };
  1005.   DataSinkClientStub.prototype.validator = validateDataSinkClientRequest;
  1006.   DataSinkClientProxy.prototype.validator = validateDataSinkClientResponse;
  1007.  
  1008.  
  1009.   var exports = {};
  1010.   exports.DataSource = DataSource;
  1011.   exports.DataSource.client = DataSourceClient;
  1012.   exports.DataSourceClient = DataSourceClient;
  1013.   exports.DataSink = DataSink;
  1014.   exports.DataSink.client = DataSinkClient;
  1015.   exports.DataSinkClient = DataSinkClient;
  1016.  
  1017.  
  1018.   return exports;
  1019. });
  1020.